CodeIgniter 4 একটি নতুন সংস্করণ যা CodeIgniter 3 এর তুলনায় অনেক উন্নত, দ্রুত, এবং আধুনিক প্রযুক্তি সমর্থন করে। CodeIgniter 3 থেকে CodeIgniter 4-এ মাইগ্রেশন (আপগ্রেড) করা বেশ কিছু পরিবর্তন এবং কনফিগারেশন সংশোধন প্রয়োজন।
এখানে CodeIgniter 3 থেকে CodeIgniter 4 মাইগ্রেশনের ধাপসমূহ এবং গুরুত্বপূর্ণ পরিবর্তনগুলো তুলে ধরা হলো।
১. CodeIgniter 4 এর জন্য প্রয়োজনীয়তা
CodeIgniter 4 চালানোর জন্য কিছু নতুন সিস্টেমের প্রয়োজন। আগে নিশ্চিত করুন যে আপনার পরিবেশ সঠিক।
প্রয়োজনীয়তা:
- PHP: PHP 7.2.5 বা তার পরবর্তী সংস্করণ।
- Web Server: Apache বা Nginx (ভাল পারফরম্যান্সের জন্য Apache তে
mod_rewriteমডিউল সক্রিয় থাকতে হবে)। - Database: MySQL 5.6 বা তার উপরের সংস্করণ।
- Composer: CodeIgniter 4 প্রজেক্ট তৈরি এবং আপডেট করার জন্য Composer ব্যবহার করা হয়।
২. CodeIgniter 3 থেকে CodeIgniter 4 এ মাইগ্রেশনের জন্য প্রস্তুতি
CodeIgniter 4 একটি ভিন্ন আর্কিটেকচার এবং ফোল্ডার স্ট্রাকচার নিয়ে এসেছে, যা CodeIgniter 3 থেকে আলাদা। CodeIgniter 3 থেকে CodeIgniter 4 এ মাইগ্রেশন করার জন্য কিছু গুরুত্বপূর্ণ পদক্ষেপ রয়েছে:
২.১ CodeIgniter 3 অ্যাপ্লিকেশন কপি করা
CodeIgniter 3 অ্যাপ্লিকেশনটি একবারের জন্য নিরাপদ স্থানে কপি করুন, যাতে আপনি পূর্বের কোডটি রেফারেন্স হিসাবে ব্যবহার করতে পারেন।
২.২ CodeIgniter 4 ইন্সটল করা
Composer ব্যবহার করে CodeIgniter 4 ডাউনলোড করুন:
composer create-project codeigniter4/appstarter your_project_nameappstarterপ্রোজেক্ট ফোল্ডারটি আপনার কাজের ডিরেক্টরিতে নিয়ে আসুন।
৩. CodeIgniter 3 থেকে CodeIgniter 4-এ গুরুত্বপূর্ণ পরিবর্তন
৩.১ ফোল্ডার স্ট্রাকচার
CodeIgniter 4 এ application, system, এবং public নামে তিনটি মূল ফোল্ডার রয়েছে, যেখানে CodeIgniter 3 তে শুধুমাত্র application, system, এবং index.php ছিল।
CodeIgniter 3:
/application
/system
/index.php
CodeIgniter 4:
/app
/system
/public
৩.২ Autoloading
CodeIgniter 4-এ Autoloading সিস্টেমটি নতুনভাবে ডিজাইন করা হয়েছে। application/config/autoload.php এর পরিবর্তে, CodeIgniter 4-এ app/config/Autoload.php ফাইলে ডিফল্ট লাইব্রেরি, হেলপার এবং মডেল লোড করা হয়।
CodeIgniter 3 (autoload.php):
$autoload['libraries'] = array('database', 'session');
CodeIgniter 4 (Autoload.php):
$autoload['libraries'] = ['Database', 'Session'];
৩.৩ Controller এবং Method Naming
CodeIgniter 4 এ controller এবং method naming সিস্টেম কিছুটা পরিবর্তিত হয়েছে। CodeIgniter 4 তে Controller গুলি কেবল Controllers ফোল্ডারে থাকবে এবং Method গুলি শুধুমাত্র lowercase এ থাকবে।
CodeIgniter 3:
class Welcome extends CI_Controller {
public function index() {
// logic
}
}
CodeIgniter 4:
namespace App\Controllers;
use CodeIgniter\Controller;
class Welcome extends Controller {
public function index() {
// logic
}
}
৩.৪ Routes Configuration
CodeIgniter 3 এর routes.php ফাইলে রাউট কনফিগার করা হয়, কিন্তু CodeIgniter 4-এ app/config/Routes.php ফাইল ব্যবহার করা হয় এবং রাউটগুলো Controller এবং Method এর সাথে মেলানো হয়।
CodeIgniter 3 (routes.php):
$route['default_controller'] = 'welcome';
CodeIgniter 4 (Routes.php):
$routes->get('/', 'Welcome::index');
৩.৫ Database Configuration
CodeIgniter 4-এ database configuration ফাইলটি নতুনভাবে ডিজাইন করা হয়েছে। application/config/database.php এর পরিবর্তে, CodeIgniter 4-এ app/config/Database.php ফাইলটি ব্যবহার করা হয়।
CodeIgniter 3 (database.php):
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'my_database',
'dbdriver' => 'mysqli'
);
CodeIgniter 4 (Database.php):
public $default = [
'DSN' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'my_database',
'DBDriver' => 'MySQLi',
];
৩.৬ Views এবং Helpers
CodeIgniter 4-এ views এবং helpers ফোল্ডারগুলির স্ট্রাকচার কিছুটা পরিবর্তিত হয়েছে। CodeIgniter 4 তে helpers ফাইলগুলি app/Helpers/ ফোল্ডারে এবং views ফাইলগুলি app/Views/ ফোল্ডারে থাকে।
৪. CodeIgniter 4 এ মাইগ্রেশন করতে পদক্ষেপ
- CodeIgniter 4 ডাউনলোড করুন: Composer ব্যবহার করে CodeIgniter 4 ডাউনলোড করুন।
- Controller কোড মাইগ্রেট করুন: CodeIgniter 3 এর controllers CodeIgniter 4-এ স্থানান্তর করুন এবং
namespaceএবংuseস্টেটমেন্ট যোগ করুন। - Model এবং View কোড স্থানান্তর করুন: CodeIgniter 4-এ
app/Modelsএবংapp/Viewsফোল্ডারে models এবং views স্থানান্তর করুন। Model ফাইলগুলিতেnamespaceযোগ করতে হবে। - Database Configuration আপডেট করুন: CodeIgniter 4-এ
app/config/Database.phpফাইল ব্যবহার করে ডাটাবেস কনফিগারেশন আপডেট করুন। - Routes Configuration:
app/config/Routes.phpফাইলে রাউট কনফিগার করুন। - Autoloading: Autoload লাইব্রেরি এবং হেলপারগুলিকে
app/config/Autoload.phpফাইলে আপডেট করুন।
৫. CodeIgniter 4 এর নতুন ফিচারসমূহ
- Improved Routing System: নতুন রাউটিং সিস্টেম যা ডেভেলপারদের আরও নিয়ন্ত্রণ প্রদান করে।
- Built-in Command Line Tool:
php sparkকমান্ড ব্যবহার করে ডাটাবেস মাইগ্রেশন, কন্ট্রোলার এবং মডেল জেনারেট করা যায়। - PSR-4 Autoloading: CodeIgniter 4 PSR-4 স্ট্যান্ডার্ড অনুসরণ করে এবং ক্লাস অটোলোডিং নিশ্চিত করে।
- Enhanced Security Features: উন্নত সিকিউরিটি, যেমন CSRF প্রোটেকশন এবং ইনপুট ভ্যালিডেশন।
- Validation and Form Handling: নতুন এবং শক্তিশালী ফর্ম ভ্যালিডেশন সিস্টেম।
- Improved Error Handling: উন্নত ত্রুটি হ্যান্ডলিং এবং ডিবাগিং সরঞ্জাম।
CodeIgniter 3 থেকে CodeIgniter 4-এ মাইগ্রেশন করার মাধ্যমে আপনার অ্যাপ্লিকেশনটি নতুন এবং উন্নত প্রযুক্তির সুবিধা পাবে। নতুন ফিচার, উন্নত পারফরম্যান্স এবং নিরাপত্তা বৈশিষ্ট্য CodeIgniter 4 কে একটি শক্তিশালী এবং আধুনিক ফ্রেমওয়ার্কে পরিণত করেছে।
Read more